Domestic Load Research Programme Expert Model Extracted from DPET

This notebook requires access to a data directory with data extracted from the Demand Planning & Electrification Tool (DPET). The data files must be in the directory on the path /data/dpet/ .

This expert model has been extracted from DPET according to Table 6 set out in the Geo-based Load Forecast Standard (p.47) using software released with 2013 data and the following user input settings:

  • 2011 income values
  • all default settings

The following geographic locations were selected to obtain the hourly profile and summary datasets for each class:

  • rural: Westrand District Municipality (R1000 mean income)
  • village: Westrand District Municipality (R1000 mean income)
  • informal settlement: City of Johannesburg Metro (R2000 mean income)
  • township: City of Johannesburg Metro (R5500 mean income)
  • urban residential (lsm7): City of Johannesburg Metro (R10 000 mean income)
  • urban residential (lsm8-9): City of Johannesburg Metro (R18 000 mean income)
  • urban townhouse (lsm7-8): City of Johannesburg Metro (R15 500 mean income)

DPET does not provide data for urban townhouse (lsm9-10) and urban estate (lsm10+) consumers (above R20k monthly income).


In [1]:
#Import statements
import benchmark.bm0 as bm0


Interrogate Summary Class Data


In [5]:
[print(c) for c in bm0.expertDemandSummary()['class'].unique()]


informal_settlement
township
urban_res_7
urban_townhouse_7-8
urban_res_8-9
rural
Out[5]:
[None, None, None, None, None, None]

In [6]:
bm0.expertDemandSummary().head()


Out[6]:
YearsElectrified Energy [kWh] ADMD [kVA] Alpha Beta Circuit Breaker class
0 1 151.123757 0.659224 0.216751 1.295713 20 informal_settlement
1 2 154.539101 0.672016 0.218622 1.277860 20 informal_settlement
2 3 158.168829 0.685610 0.220576 1.259346 20 informal_settlement
3 4 161.819533 0.699283 0.222505 1.241173 20 informal_settlement
4 5 165.297803 0.712310 0.224310 1.224252 20 informal_settlement

In [2]:
bm0.plotBmDemandSummary('township')
bm0.plot15YearBmDemandSummary()


Interrogate Hourly Profile Data


In [8]:
bm0.bmHourlyProfiles()[100:110]


Out[8]:
YearsElectrified Energy [kWh] month daytype hour Mean [kVA] Stdev [kVA] class
100 1 79.663 2 Saturday 4 0.066 0.029 rural
101 1 79.663 2 Saturday 5 0.085 0.040 rural
102 1 79.663 2 Saturday 6 0.113 0.048 rural
103 1 79.663 2 Saturday 7 0.124 0.046 rural
104 1 79.663 2 Saturday 8 0.120 0.042 rural
105 1 79.663 2 Saturday 9 0.114 0.044 rural
106 1 79.663 2 Saturday 10 0.109 0.044 rural
107 1 79.663 2 Saturday 11 0.106 0.047 rural
108 1 79.663 2 Saturday 12 0.105 0.045 rural
109 1 79.663 2 Saturday 13 0.105 0.043 rural

In [4]:
bm0.plotBmHourlyProfiles(customer_class = 'informal_settlement', year_list = [1, 7, 15], daytype = 'Weekday')



In [5]:
bm0.plotBmHourlyProfiles(customer_class = 'urban_res_7', year_list = [1, 7, 15], daytype = 'Weekday')



In [9]:
bm0.plotBmHourlyProfiles(customer_class = 'urban_res_8-9', year_list = [1, 3, 7], daytype = 'Weekday')